package com.team.recruitment_management_system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.team.recruitment_management_system.pojo.dto.BasePageQuery;
import com.team.recruitment_management_system.pojo.dto.job.AddJobInfoDto;
import com.team.recruitment_management_system.pojo.dto.job.ChangeJobInfoDto;
import com.team.recruitment_management_system.pojo.dto.job.JobPageQuery;
import com.team.recruitment_management_system.pojo.entity.Job;
import com.team.recruitment_management_system.pojo.vo.job.JobInfoVo;
import com.team.recruitment_management_system.util.result.PageResult;
import com.team.recruitment_management_system.util.result.Result;

import java.util.List;

/**
* @author 86147
* @description 针对表【job(职业表)】的数据库操作Service
* @createDate 2024-03-21 20:28:40
*/
public interface JobService extends IService<Job> {
    Result<Void> addJobInfo(AddJobInfoDto addJobInfoDto);

    Result<Void> changeJobInfo(ChangeJobInfoDto changeJobInfoDto);

    Result<Void> deleteJobById(int jobId);

    PageResult<JobInfoVo> seekerGetJobInfoPage(JobPageQuery jobPageQuery);

    PageResult<JobInfoVo> otherGetJobInfoPage(JobPageQuery jobPageQuery);

    Result<JobInfoVo> getJobInfoById(int jobId, boolean isSeeker,boolean isHR);

    Result<List<JobInfoVo>> getHotJob();

    PageResult<JobInfoVo> hrGetJobInfoPage(JobPageQuery jobPageQuery,String token);

    PageResult<JobInfoVo> getJobInfoByCompanyId(int companyId, BasePageQuery basePageQuery);
}
